Property Directed Reachability for Proving Absence of Concurrent Modification Errors
نویسندگان
چکیده
We define and implement an interprocedural analysis for automatically checking safety of recursive programs with an unbounded state space. The main idea is to infer modular universally quantified inductive invariants in the form of procedure summaries that are sufficient to prove the safety property. We assume that the effect of the atomic commands of the program can be modeled via effectively propositional logic. We then propose a variant of the IC3/PDR approach for computing universally quantified inductive procedure summaries that overapproximate the behavior of the program. We show that Java programs that manipulate collections and iterators can be modeled in effectively propositional logic and that the invariants are often universal. This allows us to apply the new analysis to prove the absence of concurrent modification exceptions in Java programs. In order to check the feasibility of our method, we implemented our analysis on top of Z3, as well as a Java front-end which translates Java programs into effectively propositional formulas.
منابع مشابه
Reachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملVerifying Reachability in Lotos Specifications by Temporal Logic +
A method for verifying reachability properties of distributed system designs specified in the formal description technique LOTOS is proposed. It consists of a linear temporal propositional logic language and a compositional temporal semantics with linear temporal operators. Based on this semantics, both the design specified in LOTOS and its properties can be expressed as logical formulas. Provi...
متن کاملProving Liveness by Backwards Reachability
We present a new method for proving liveness and termination properties for fair concurrent programs, which does not rely on finding a ranking function or on computing the transitive closure of the transition relation. The set of states from which termination or some liveness property is guaranteed is computed by a backwards reachability analysis. A central technique for handling concurrency is...
متن کاملprod 3.2: An Advanced Tool for Efficient Reachability Analysis
prod is a reachability analyzer for Predicate/Transition Nets. The tool incorporates several advanced reduced reachability graph generation methods. The tool also includes a CTL model checker and supports on-they veriication of LTL formulas. prod is being used in industrial projects at the Digital Systems Laboratory. 1 Intro Reachability analysis is a powerful formal way to analyze concurrent a...
متن کاملA Unified Approach for Studying the Properties of Transition Systems
In this paper a systematic method for generating, comparing and proving the properties of transition systems is presented. It is assumed that any property of a system can be defined by giving a set of ‘target’ states and a type of reachability. Ten differcqt types of reachability are proposed; by appropriately choosing the set of target states, a family of ten potentially different properties i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017